# Liste des objets codés comme des tableaux
# Pour un même indice des 3 tableaux on a la définition d'une boîte.
# Par exemple pour l'indice 2, on a la boîte grise : valeur=2, masse=1,couleur="Gris"
VALEURS = [10,   4,   2,   2,   1]   # Valeurs des objets par ordre décroissant
MASSES =  [4,   12,   1,   2,   1]   # Masses dans le même ordre (priorité aux masses plus faibles)
COULEURS = ["Jaune","Vert","Gris","Bleu","Orange"]

CAPACITE_SAC = 15

# Programmer votre algorithme ici
def sac_a_dos(capacite:int, valeurs:list, masses:list, couleurs:list) -> list:
    """
    Renvoi la liste des objets contenus dans un sac à dos dont la capacité
    (en masse) est donnée en argument en essayant de maximiser la valeur par une
    méthode gloutonne. La liste d'objets est données sous la forme de 3 listes :
     -> valeurs : nombres représentant la valeur de chaque objet
     -> masses : nombres représentant la masse de chaque objet
     -> couleurs : str représentant la couleur des objets
    un objet correspond à un indices dans ces listes. Par exemple l'objet 2 aura
    pour valeur valeurs[2], pour masse masses[2], pour couleur couleurs[2]
    la liste renvoyée est de même constituée des objets indices des objets
    choisis. Un même objet pouvant apparaître plusieurs fois dans cette liste.
    """
    # TODO






# Affichage du contenu du sac (supposé être une liste d'objets appelée " contenu ")
contenu = sac_a_dos(CAPACITE_SAC, VALEURS, MASSES, COULEURS)
print("Masse\t| Contenu du sac :")
masse = 0
for indice_objet in contenu:
    masse += masses[indice_objet]
    print(str(masses[indice_objet]) + "\t| " + couleurs[indice_objet])
